package it.tukano.fun;

/**
 * A function with 2 arguments
 * @author pgi
 * @param <PARAM1> the type of the first argument
 * @param <PARAM2> the type of the second argument
 * @param <RESULT> the type of the returned value
 */
public interface Function2<PARAM1, PARAM2, RESULT> {

    /**
     * Function's body.
     * @param a the first argument
     * @param b the second argument
     * @return the value of this function applied to (a,b)
     */
    RESULT apply(PARAM1 a, PARAM2 b);
}